package edu.unmsm.ocaa.sisocaa.integracion.dao.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import org.springframework.stereotype.Repository;

import com.ibatis.sqlmap.client.SqlMapClient;

import edu.unmsm.ocaa.sisocaa.integracion.dao.PregFichaMsjDAO;
import edu.unmsm.ocaa.sisocaa.negocio.model.dto.PregFichaMsjDTO;

@Repository
public class PregFichaMsjDAOImpl extends SqlMapClientDaoSupport implements PregFichaMsjDAO {

	@Autowired
	public PregFichaMsjDAOImpl(SqlMapClient sql) {
		super.setSqlMapClient(sql);
		// TODO Auto-generated constructor stub
	}

	@Override
	public void deletePregFichaMsj(PregFichaMsjDTO pfm)
			throws DataAccessException {
		// TODO Auto-generated method stub
		getSqlMapClientTemplate().delete("deletePregFichaMsj", pfm);
	}

	@Override
	public PregFichaMsjDTO getPregFichaMsj(Integer idFicha,
			Integer idPregficha, Integer msjid) throws DataAccessException {
		// TODO Auto-generated method stub
		Map map= new HashMap();
		map.put("id_ficha", idFicha);
		map.put("id_pregficha", idPregficha);
		map.put("msjid", msjid);
		return (PregFichaMsjDTO)getSqlMapClientTemplate().queryForObject("getPregFichaMsj", map);
	}

	@Override
	public List<PregFichaMsjDTO> getPregFichaMsjs(Integer idFicha,
			Integer idPregficha) throws DataAccessException {
		// TODO Auto-generated method stub
		Map map= new HashMap();
		map.put("id_ficha", idFicha);
		map.put("id_pregficha", idPregficha);
		return getSqlMapClientTemplate().queryForList("getPregFichaMsjs", map);
	}

	@Override
	public void insertPregFichaMsj(PregFichaMsjDTO pfm)
			throws DataAccessException {
		// TODO Auto-generated method stub
		try {
			getSqlMapClientTemplate().insert("insertPregFichaMsj", pfm);	
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		
	}

	@Override
	public void deletePregFichaMsjs(PregFichaMsjDTO pfm)
			throws DataAccessException {
		// TODO Auto-generated method stub
		getSqlMapClientTemplate().delete("deletePregFichaMsjs", pfm);
	}

}
